<?php
/**
 * reptile 常用小工具合集
 * @link      http://book.kfsimi.cn
 * @copyright Copyright (c) 2019-2020 apiframe.
 * @license   http://www.apiframe.cn
 * @package   apiframe/tools
 * @author    fengjian zhang mail:1224103366@qq.com
 * @version   1.0 Beta
 * @简介：以下是本人整理的小工具合集，每个函数方法旁边都有详细的用法介绍！
 
      1.工具名称，参数： download( 下载地址, 存放目录, 保存名称及格式, 采用的方法);  //远程下载工具
	  
	  
 */
namespace apiframe\tools;
class tool {
	
	public function download($url, $save_dir = '', $filename = '', $type = 0) {
	    if (trim($url) == '') {
	        return false;
	    }
	    if (trim($save_dir) == '') {
	        $save_dir = './';
	    }
	    if (0 !== strrpos($save_dir, '/')) {
	        $save_dir.= '/';
	    }
	    //创建保存目录
	    if (!file_exists($save_dir) && !mkdir($save_dir, 0777, true)) {
	        return false;
	    }
	    //获取远程文件所采用的方法
	    if ($type) {
	        $ch = curl_init();
	        $timeout = 5;
	        curl_setopt($ch, CURLOPT_URL, $url);
	        curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
	        curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);
	        $content = curl_exec($ch);
	        curl_close($ch);
	    } else {
	        ob_start();
	        readfile($url);
	        $content = ob_get_contents();
	        ob_end_clean();
	    }
	    $size = strlen($content);
	    //文件大小
	    $fp2 = @fopen($save_dir . $filename, 'a');
	    fwrite($fp2, $content);
	    fclose($fp2);
	    unset($content, $url);
	    return array(
	        'file_name' => $filename,
	        'save_path' => $save_dir . $filename
	    );
	}

	
}